#include <stdio.h>

double p(int n,double x){
    if (0==n) return 1;
    if (1==n) return x;
    // else return (2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x)/n; 教材有误
    else return ((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;
}

int main(){
    // 求解勒让德多项式 https://en.wikipedia.org/wiki/Legendre_polynomials
    double x;
    int n;
    printf("input n x:");
    scanf("%d %lf",&n,&x);
    printf("P%d(%.2lf)=%6.3lf",n,x,p(n,x));
    return 0;
}